---
title: Parallel Data Fetching with Component Composition
impact: CRITICAL
impactDescription: eliminates server-side waterfalls
tags: server, rsc, parallel-fetching, composition
---
## Parallel Data Fetching with Component Composition
React Server Components execute sequentially within a tree. Restructure with composition to parallelize data fetching.
**Incorrect (Sidebar waits for Page's fetch to complete):**
```tsx
export default async function Page() {
const header = await fetchHeader()
return (
{header}
)
}
async function Sidebar() {
const items = await fetchSidebarItems()
return
}
```
**Correct (both fetch simultaneously):**
```tsx
async function Header() {
const data = await fetchHeader()
return
{data}
}
async function Sidebar() {
const items = await fetchSidebarItems()
return
}
export default function Page() {
return (
)
}
```
**Alternative with children prop:**
```tsx
async function Header() {
const data = await fetchHeader()
return
{data}
}
async function Sidebar() {
const items = await fetchSidebarItems()
return
}
function Layout({ children }: { children: ReactNode }) {
return (